1. Field of the Invention
The present invention is directed to bandwidth control in a storage switch.
2. Description of the Related Art
Storage Area Networks (SAN) have gained popularity in recent years. A SAN is defined by the Storage Networking Industry Association (SNIA) as a network whose primary purpose is the transfer of data between computer systems and storage elements and among storage elements. A storage area network (SAN) is a high-speed special-purpose network (or subnetwork) that interconnects different kinds of data storage devices with associated data servers on behalf of a larger network of users. Unlike connecting a storage device directly to a server, e.g., with a SCSI connection, and unlike adding a storage device to a LAN with a traditional interface such as Ethernet (e.g., a NAS system), the SAN forms essentially an independent network that does not tend to have the same bandwidth limitations as its direct-connect SCSI and NAS counterparts and also provides increased configurability and scalability.
In a SAN environment, storage devices (e.g., tape drives and RAID arrays) and servers are generally interconnected via various switches and appliances. The connections to the switches and appliances are usually Fibre Channel. This structure generally allows for any server on the SAN to communicate with any storage device and vice versa. It also provides alternative paths from server to storage device. In other words, if a particular server is slow or completely unavailable, another server on the SAN can provide access to the storage device. A SAN also makes it possible to mirror data, making multiple copies available and thus creating more reliability in the availability of data. When more storage is needed, additional storage devices can be added to the SAN without the need to be connected to a specific server; rather, the new devices can simply be added to the storage network and can be accessed from any point.
While typical SAN appliances do perform some switching, because there may be a large number of servers (many more than three), and because each appliance has few ports (usually only two or four), separate switches are needed to connect the many servers to the few appliances. Nevertheless, typical switches have little built-in intelligence and merely forward data to a selected appliance.
Co-pending patent application Ser. No. 10/051,321 discloses a device which solves many of the issues attending the use of SANs through the introduction of a storage switch. The switch is capable of routing data between initiators and targets without buffering the data as required by earlier appliances used in SAN's. For example, some storage switches can route data packets without introducing more latency to the packets than would be introduced by a typical network switch. Such unbuffered data transfer between initiators and targets must be handled reliably and efficiently by the switch performing the interconnection. An example of a storage switch can be found in co-pending U.S. patent application Ser. No. 10/051,396, entitled VIRTUALIZATION IN A STORAGE SYSTEM, filed Jan. 18, 2002.
Initiators typically couple to the switch and access one or more virtual and physical targets through the switch. One issue which may arise from coupling through the switch is a bandwidth overload on the port. Since data losses in a SAN are not acceptable, bandwidth management on the part relative to the virtual targets must be provided.